1. Field of the Invention
The present invention relates to a system for cooperation of multiple mobile robots using dynamic behavior binding and a method thereof, and more particularly, to a system for cooperation of robots and a method thereof that allow multiple robots based on a network to actively adjust to changes in a dynamical environment and execute a given task through cooperation.
2. Description of the Related Art
In general, independent robots have a large-quantity storage device or an information processing function and can independently recognize information, execute various processes, and perform various behaviors. However, due to the spread of a network, robots based on the network have been developed, which are configured such that the robots based on the network have only basic sensing and networking functions without a large-capacity storage device and an information processing function, and the functions independently executed by the general robots are distributed to the network so as to allow a server at a remote place to execute the functions of the general robots. That is, the robots based on the network are distributed and interact with an external device through network communication.
Meanwhile, a robot cooperation application that allows the above-described robots based on the network to execute a given task through cooperation needs to be opened and configured in consideration of a dynamical environment. Since the individual robots are heterogeneous, the hardware and software configurations thereof may be different from each other. The robots may dynamically join or secede from a task execution organization. One robot may stop its operation due to a communication obstacle or an obstacle in the robot, while the task is executed. A task execution environment may be changed whenever the task is executed. For example, when a task of moving a box is executed, the size or weight of the box may be changed whenever the task is executed.
The cooperation of the multiple robots that consider the dynamical environment are associated with how to construct the robots as one team to execute the given task, how to divide the given task into subtasks that can be executed by the individual robots, how to allocate the divided subtasks to the individual robots, how to allow the individual robots to formulate execution plans on the subtasks allocated by the individual robots as sequential aggregates of unit behaviors, and how to avoid the physical and logical collision between the robots and ensure cooperation between the robots, when the individual robots execute the unit behaviors according to their execution plans.
A problem of when the multiple robots based on the network operate together and execute a task through cooperation is closely connected with control architecture. In the existing autonomous agent oriented distributed architecture, the dynamic problem is resolved through communication between the robots. However, this architecture is only applied to an experimental example, because communication traffic is heavy, information exchanged through the communication is complex, and it is difficult to search an appropriate algorithm that processes the information in order to finally execute a specific behavior. That is, in the autonomous agent oriented distributed architecture, most of the communication protocols and algorithms can be effectively used only on a specific assumption or in a simple situation.
Meanwhile, the traditional centralized control architecture can obtain a superior result as compared with the agent based architecture, by synthetically determining a situation in a central server and controlling the robots. That is, since an application can be executed in only the central server, the application can be created as a single code, situation information is synthetically collected and determined in a single code, and the individual robots are synthetically controlled on the basis of the situation information. Accordingly, it is possible to remove or simplify the task division step, the task allocation step, the execution plan formulation step, and the inter-robot coordination step, which are described above.
However, in the case of the existing traditional centralized control architecture, since the functions to execute the above individual steps and the robot control are coded in advance at the time of developing the architecture, it is not possible to actively adjust to changes in a dynamical environment.